package com.example.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.mapper.TrackMapper;
import com.example.dto.statistic;
import com.example.pojo.major;
import com.example.pojo.previous;
import com.example.pojo.tracking;
import com.example.service.TrackService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class TrackServiceImpl implements TrackService {

    @Autowired
    private TrackMapper trackMapper;

    @Override
    //根据学号查找信息(用户端)
    public tracking findRecordById(String id){
        tracking t = trackMapper.findRecordById(id);
        return  t;
    }

    @Override
    //更新就业跟踪信息(用户端)
    public void updateTrackInfo(tracking t){
        trackMapper.updateTrackInfo(t);
    }

    @Override
    //插入新用户就业信息(用户端)
    public void insertTrackInfo(tracking t){
        trackMapper.insertTrackInfo(t);
    }

    @Override
    //统计就业人数和未就业人数（管理员端）
    public statistic countEmploy(){
        statistic s = trackMapper.countEmploy();
        return  s;
    }

    @Override
    //返回所有专业的数组数据（管理员端）
    public List<major> allMajorList(){
        List<major> m = trackMapper.allMajorList();
        return m;
    }

    @Override
    //统计各专业就业人数（管理员端）
    public List<Integer> countInMajor(){
        List<Integer> i = trackMapper.countInMajor();
        return i;
    }

    @Override
    //历年数据对比（管理员端）
    public List<previous> previousData(){
        List<previous> p = trackMapper.previousData();
        return p;
    }

    @Override
    //删除用户就业信息（管理员端）
    public void deleteTrack(String id){
        trackMapper.deleteTrack(id);
    }

    @Override
    //修改用户就业信息（管理员端）
    public void  editTrack(tracking t){
        trackMapper.editTrack(t);
    }

    @Override
    //姓名查找用户就业信息
    public IPage<tracking> findByName(Page<tracking> trackingPage, String name){
        return trackMapper.findByName(trackingPage,name);
    }
}
